const axios = require('axios');

const API_BASE_URL = 'http://localhost:8081';

// 测试用户注册
async function testRegister() {
  try {
    console.log('测试用户注册...');
    const response = await axios.post(`${API_BASE_URL}/user/register`, {
      account: 'testuser',
      password: '123456',
      username: '测试用户'
    });
    console.log('注册结果:', response.data);
    return response.data;
  } catch (error) {
    console.error('注册失败:', error.response?.data || error.message);
    return null;
  }
}

// 测试用户登录
async function testLogin() {
  try {
    console.log('测试用户登录...');
    const response = await axios.post(`${API_BASE_URL}/user/login`, {
      account: 'testuser',
      password: '123456'
    });
    console.log('登录结果:', response.data);
    return response.data;
  } catch (error) {
    console.error('登录失败:', error.response?.data || error.message);
    return null;
  }
}

// 测试管理员登录
async function testAdminLogin() {
  try {
    console.log('测试管理员登录...');
    const response = await axios.post(`${API_BASE_URL}/user/login`, {
      account: 'admin',
      password: '123456'
    });
    console.log('管理员登录结果:', response.data);
    return response.data;
  } catch (error) {
    console.error('管理员登录失败:', error.response?.data || error.message);
    return null;
  }
}

// 运行测试
async function runTests() {
  console.log('开始API测试...\n');
  
  // 测试注册
  await testRegister();
  console.log('');
  
  // 测试登录
  await testLogin();
  console.log('');
  
  // 测试管理员登录
  await testAdminLogin();
  console.log('');
  
  console.log('测试完成！');
}

// 如果直接运行此脚本
if (require.main === module) {
  runTests();
}

module.exports = {
  testRegister,
  testLogin,
  testAdminLogin
};
